package com.example.movie.data.cinema.model

import com.example.movie.common.entity.Agent
import com.example.movie.common.entity.Plan
import com.example.movie.common.model.Result
import com.example.movie.data.cinema.model.vo.CinemaDetailVo
import com.example.movie.data.cinema.model.vo.CinemaVo
import com.example.movie.data.cinema.model.vo.SeatVo

class CinemaRepository(val dataSource: CinemaDataSource) {

    fun getCinemaData(cityId: String, hallTypeId: Int, price: Int, star: Int): Result<CinemaVo>? {
        return dataSource.getCinemaData(cityId, hallTypeId,price,star)
    }

    fun getCineMoviePlanData(agentId: Int): Result<CinemaDetailVo>? {
        return dataSource.getCineMoviePlanData(agentId)
    }

    fun getMoviePlan(movieId: Int, playDay: String): List<Plan>? {
        return dataSource.getMoviePlan(movieId,playDay)
    }

    fun getMoviePlanDateById(movieId: Int): List<String>? {
        return dataSource.getMoviePlanDateById(movieId)
    }

    fun loadSeatData(planId: Int): Result<SeatVo> {
        return dataSource.loadSeatData(planId)
    }

    fun getCinemaByCondition(price: Int, star: Int): Result<List<Agent>>? {
        return dataSource.getCinemaByCondition(price,star)
    }

}